//
//  NSString+Category.h
//  OrcGolfNew
//
//  Created by apple on 16/7/18.
//  Copyright © 2016年 apple. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface NSString (NSString_Category)

+(NSString *)toString:(NSString *)inStr;

/**
 *  删除字符串头部字符
 *
 *  @param characterSet [NSCharacterSet whitespaceAndNewlineCharacterSet] 删除字符串左侧的空格和换行符 or [NSCharacterSet whitespaceCharacterSet] 不删除换左侧行符和新行，只去除空格
 *
 *  @return 删除后的字符串
 */
- (NSString *)stringByTrimmingLeadingCharactersInSet:(NSCharacterSet *)characterSet;

/**
 *  删除字符串左侧的空格和换行符
 *
 *  @return 删除后的字符串
 */
- (NSString *)stringByTrimmingLeadingWhitespaceAndNewlineCharacters;

/**
 *  删除字符串尾部字符
 *
 *  @param characterSet [NSCharacterSet whitespaceAndNewlineCharacterSet] 删除字符串左侧的空格和换行符 or [NSCharacterSet whitespaceCharacterSet] 不删除换左侧行符和新行，只去除空格
 *
 *  @return 删除后的字符串
 */
- (NSString *)stringByTrimmingTrailingCharactersInSet:(NSCharacterSet *)characterSet;

/**
 *  删除字符串右侧的空格和换行符
 *
 *  @return 删除后的字符串
 */
- (NSString *)stringByTrimmingTrailingWhitespaceAndNewlineCharacters;


/**
 *  判断是否手机号码
 *
 *  @return YES / NO
 */
- (BOOL)isMobileNumber;


/**
 *  处理电话号码，去除多余的字符,'-' '(' ')' '+86'等，得到纯粹的，干净的号码
 *
 *  @return 过滤后的电话号码
 */
- (NSString *)phoneNumberFilter;


/**
 *  字符串是否为空
 *
 *  @return YES / NO
 */
- (BOOL)isEmpty;


/**
 *  数字 转成 字符串
 *
 *  @param val
 *
 *  @return 格式化的字符串
 */
+ (instancetype)stringWithIntValue:(SInt64)val;
+ (instancetype)stringWithNumber:(NSNumber *)number;


/**
 *  判断名称是否合法
 *
 *  @return YES / NO
 */
- (BOOL)isNameValide;


/**
 *  转成 Dictionary
 *
 *  @return Dictionary
 */
- (NSDictionary *)dictionary;

- (NSURL *)URLString;

- (instancetype)appendingPathComponent:(NSString *)componet;

// 根据时间戮  拿到时间
+ (instancetype)DateFormatWithDateChuo:(NSInteger )timeChuo;
+ (instancetype)DateFormatWithDateChuo:(NSInteger )timeChuo withFormat:(NSString *)formatString;

+ (instancetype)DateStringFromTime:(NSString *)strDate;

/**
 *  得到cell上显示的日期
 *
 *  @param date 日期
 *
 *  @return cell显示的字符串
 */
+ (instancetype)cellDateFormatWithDate:(NSDate *)date;


/**
 *  得到cell上显示的日期
 *
 *  @param date 字符串string data, eg:2015-1-1 12:12:12
 *
 *  @return cell显示的字符串
 */
+ (instancetype)cellDateFormatWithStringDate:(NSString *)strDate;


/**
 *  得到cell上显示的日期, 显示格式: 刚刚，几小时前，几个月头，几年前
 *
 *  @param date 日期
 *
 *  @return cell显示的字符串
 */
+ (instancetype)cellDateAgoFormatWithDate:(NSDate *)date;

/**
 *  得到cell上显示的日期, 显示格式: 刚刚，几小时前，几个月头，几年前
 *
 *  @param date 字符串string data, eg:2015-1-1 12:12:12
 *
 *  @return cell显示的字符串
 */
- (NSString*)cellDateAgoFormatWithStringDate;


- (void)createDirectory;

/**
 *  随机生成 传入len 位数的数字和字母 字符串
 *
 *  @param len 长度
 *
 *  @return string
 */
+ (instancetype)randAlphaOrDigitStringWithLen:(NSInteger)len;


+ (instancetype)jsonStringWithJSONObject:(id)object;


+ (NSString *)formatDiskSize:(NSUInteger)size;

-(NSString*)qiniuImageUrl;

-(NSString*)qiniuVideoUrl;

-(NSString*)qiniuVideoImageUrl;

+(NSString*)videoPath;// 文件夹路径
-(NSString *)localVideoFile;// 文件路径

+(NSMutableAttributedString *)attributedWithDict:(NSDictionary *)dict;

+ (NSString *)uuid;






@end
